package com.cloudwebrtc.voip.mediaengine;

public interface VideoStream {
	
	public int SetupVideoStream(
			int camera_index,
			long local_window_id,
			long remote_window_id,
	        int rotation,
	        int width,
	        int height,
	        int bitrate,
	        int fps);

	    public int StartSending();

	    public boolean IsSending();

	    public int StopSending();

	    public int StartReceiving();

	    public boolean IsReceiving();

	    public int StopReceiving();

	    public int RegisterVideoStreamObserver(VideoStreamObserver cb);

	    public int DeRegisterVideoStreamObserver() ;
	    
	    public int ChangeCaptureVideoSize(short width, short height);

	    public int ChangeSendBitRate(int bitrate );

	    public int ChangeCamera(int camera_index, int rotation_new, Object local_window_id );

	    public int ChangeRemoteRender(Object remote_window_id);

	    public int ChangeLocalRender(Object local_window_id);

	    public int GetCaptureRotation();

	    public int ChangeCaptureRotation(int rotation);
	    
	    public CallStatistics GetCallStatistics();
}
